package com.demo.understandmvc.返回值处理.modelAttribute;

import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

import com.demo.understandmvc.返回值处理.responseEntity.MyData;

@org.springframework.stereotype.Controller
public class Controller2 {

	@RequestMapping("/myModelAttributeReturn")
	@ModelAttribute("data")
	// @ModelAttribute注解标注在参数上，是通过当前Model获取值绑定到处理器参数的。而标记在处理器方法上，则表示把当前返回值作为Model属性放入Model，属性名从注解的name或者value获取，
	// 如果没有，则通过返回值类型自动判定，一般为类型名首字母小写后的字符串。而注解上的binding参数在这种使用场景下没有任何作用。
	// 在该请求处理后，会把MyData放入Model中，属性名为data，视图根据请求路径查找，为myModelAttributeReturn
	public MyData modelAttributeReturn() {
		MyData data = new MyData();
		data.setFirstName("zhangsan");
		return data;
	}

}
